package com.cakin.javademo;

/**
 * @ClassName: NumberDemo
 * @Description: TODO
 * @Date: 2020/6/14
 * @Author: cakin
 */
public class NumberDemo {
    public static void main(String[] args) {
        // int - >  Integer  装箱
        Integer i = 5;
        i = i+1; // 拆箱
        System.out.println(i); // 拆箱

        System.out.println("===================");
        System.out.println("90 度的正弦值：" + Math.sin(Math.PI/2));
        System.out.println("0度的余弦值：" + Math.cos(0));
        System.out.println("60度的正切值：" + Math.tan(Math.PI/3));
        System.out.println("1的反正切值： " + Math.atan(1));
        System.out.println("π/2的角度值：" + Math.toDegrees(Math.PI/2));
        System.out.println(Math.PI);

        System.out.println("=====================");
        Integer x = 5;
        // 返回 byte 原生数据类型

        // 从包装类型转换为原生类型：XXXVaule
        System.out.println( x.byteValue() );

        // 返回 double 原生数据类型
        System.out.println(x.doubleValue());

        // 返回 long 原生数据类型
        System.out.println( x.longValue() );

        System.out.println("=====================");
        Integer y = 5;
        System.out.println(y.compareTo(3));  // 1
        System.out.println(y.compareTo(5));  // 0
        System.out.println(y.compareTo(8));  // -1

        System.out.println("=====================");
        Integer x1 = 5;
        Integer y1 = 10;
        Integer z =5;
        Short a = 5;
        Long z1 = null;

        System.out.println(x1.equals(y1));  // fslse
        System.out.println(x1.equals(z));   // true
        // 不同类型的包装类可以比较，但比较结果一定为false
        System.out.println(x1.equals(a));   // 有问题
        // 调用equals的对象是不能为null的，否则会抛出异常 NullPointerException
        // System.out.println(z1.equals(x1));   // 有问题




    }


}
